package cn.com.xiaoshoujia.wallet.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author: yangrui
 * @Description: 调钱包服务错误日志
 * @Date: 下午2:17 2017/9/5
 */
public class ErrorLogs {
    private Long id; //bigint(20) NOT NULL AUTO_INCREMENT,
    private String opeartor; //varchar(50) NOT NULL DEFAULT '' COMMENT 'xcode/sysId',
    private Integer opeartorType; //tinyint(4) NOT NULL DEFAULT '-1' COMMENT '0 企业、 1 个人',
    private Integer type; //tinyint(4) NOT NULL DEFAULT '-1' COMMENT '0 钱包、 1 资金池',
    private String fkCompanyXcode; //varchar(50) NOT NULL DEFAULT '' COMMENT '企业唯一XCODE',
    private BigDecimal price; //decimal(10,2) NOT NULL DEFAULT '0.00',
    private String orderId; //varchar(50) NOT NULL DEFAULT '',
    private Integer billingType; //tinyint(4) NOT NULL DEFAULT '-1' COMMENT '0 收入、1 支出',
    private Integer businessType; //tinyint(4) NOT NULL DEFAULT '-1' COMMENT '0 充值、1 退款、 2 提现、 3 交易、 4 转账、 5 结算',
    private Integer fundsFrom; //tinyint(4) NOT NULL DEFAULT '-1' COMMENT '0 个人微信、 1 代付资金池、 2 钱包余额、 3 活动红包',
    private Integer fundsTo; //tinyint(4) NOT NULL DEFAULT '-1' COMMENT '0 代付资金池、 1 活动红包、 2 钱包余额、 3 个人微信、 4 销帮账户',
    private Integer scene; //tinyint(4) NOT NULL DEFAULT '-1' COMMENT '0 发布活动充红包、 1 发布活动追加红包、 2 活动剩余红包退款、 3 企业充值、 4 企业提现、 5 购买易企秀模板、 6 企业付款到个人、 7 拼团单买、 8 拼团预付、 9 拼团成功后、 10 拼团未成功',
    private Date createTime; //datetime DEFAULT NULL,
    private Date processTime;
    private Integer status; //tinyint(4) NOT NULL DEFAULT '0 待处理 1 交易完成、 2 交易失败',
    private Integer yn;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getOpeartor() {
        return opeartor;
    }

    public void setOpeartor(String opeartor) {
        this.opeartor = opeartor;
    }

    public Integer getOpeartorType() {
        return opeartorType;
    }

    public void setOpeartorType(Integer opeartorType) {
        this.opeartorType = opeartorType;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getFkCompanyXcode() {
        return fkCompanyXcode;
    }

    public void setFkCompanyXcode(String fkCompanyXcode) {
        this.fkCompanyXcode = fkCompanyXcode;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public Integer getBillingType() {
        return billingType;
    }

    public void setBillingType(Integer billingType) {
        this.billingType = billingType;
    }

    public Integer getBusinessType() {
        return businessType;
    }

    public void setBusinessType(Integer businessType) {
        this.businessType = businessType;
    }

    public Integer getFundsFrom() {
        return fundsFrom;
    }

    public void setFundsFrom(Integer fundsFrom) {
        this.fundsFrom = fundsFrom;
    }

    public Integer getFundsTo() {
        return fundsTo;
    }

    public void setFundsTo(Integer fundsTo) {
        this.fundsTo = fundsTo;
    }

    public Integer getScene() {
        return scene;
    }

    public void setScene(Integer scene) {
        this.scene = scene;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getProcessTime() {
        return processTime;
    }

    public void setProcessTime(Date processTime) {
        this.processTime = processTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getYn() {
        return yn;
    }

    public void setYn(Integer yn) {
        this.yn = yn;
    }

    @Override
    public String toString() {
        return "ErrorLogs{" +
                "id=" + id +
                ", opeartor='" + opeartor + '\'' +
                ", opeartorType=" + opeartorType +
                ", type=" + type +
                ", fkCompanyXcode='" + fkCompanyXcode + '\'' +
                ", price=" + price +
                ", orderId='" + orderId + '\'' +
                ", billingType=" + billingType +
                ", businessType=" + businessType +
                ", fundsFrom=" + fundsFrom +
                ", fundsTo=" + fundsTo +
                ", scene=" + scene +
                ", createTime=" + createTime +
                ", processTime=" + processTime +
                ", status=" + status +
                ", yn=" + yn +
                '}';
    }

    @Override
    public boolean equals(Object obj) {
        if (null == obj){
            return false;
        }
        if (!(obj instanceof ErrorLogs)){
            return false;
        }
        ErrorLogs logs = (ErrorLogs) obj;
        if (this.orderId.equals(logs.getOrderId())
                && this.opeartor.equals(logs.getOpeartor())
                && this.opeartorType.equals(logs.getOpeartorType())
                && this.type.equals(logs.getType())
                && this.fkCompanyXcode.equals(logs.getFkCompanyXcode())
                && this.price.equals(logs.getPrice())
                && this.billingType.equals(logs.getBillingType())
                && this.businessType.equals(logs.getBusinessType())
                && this.fundsFrom.equals(logs.getFundsFrom())
                && this.fundsTo.equals(logs.getFundsTo())
                && this.scene.equals(logs.getScene())
                && this.status.equals(logs.getStatus())){
            return true;
        }
        return false;
    }
}
